#ifndef _SYS_TASK_H_
#define _SYS_TASK_H_

/*******************************************************************
 *
 * Copyright (C), 2021-2022, Letstrong, All rights reserved.
 *
 * Author      : 
 * Create Time : 2020-12-14
 * Version     : v0.1
 * Description : 
 *******************************************************************/
 
/*----------------------------Head file----------------------------*/
#include "stdint.h"
#include "stdbool.h"
#include "app_scheduler.h"

/*----------------------------macro file---------------------------*/
#define sys_task_sched_execute	app_sched_execute

/*----------------------------type define--------------------------*/
typedef enum {
	SYS_EVT_NULL 	= 0,
	
	//UI part
	SYS_EVT_UI_MIN,
	SYS_EVT_SHORT_PRESS,
	SYS_EVT_LONG_PRESS,
	SYS_EVT_SN_DISP_PRESS,
	SYS_EVT_DOUBLE_CLICK,
    SYS_EVT_SHIP_MODE_RESET,
	
	SYS_EVT_POWERON_FULL_DISP,
	SYS_EVT_CHARGING,
	SYS_EVT_BATT_LOW,
	SYS_EVT_SKIP_DONE,
	SYS_EVT_SEARCH_DEV,
	
	SYS_EVT_OTA_ING,
	SYS_EVT_OTA_DONE,
	SYS_EVT_OTA_FAIL,
	
	SYS_EVT_BOARD_TEST,
	SYS_EVT_DEV_TEST,
	
	SYS_EVT_ENTER_BURN_MAC_MODE,
	SYS_EVT_BURN_MAC,
	
	SYS_EVT_SKIP_CNT_DOWN_START,
	SYS_EVT_SKIP_MODE_MIN,
	SYS_EVT_APP_SKIP_TIME_MODE,
	SYS_EVT_APP_SKIP_CNT_MODE,
	SYS_EVT_APP_SKIP_RANDOM_MODE,
    SYS_EVT_APP_SKIP_CUMULATIVE_NUM_MODE,
	SYS_EVT_SKIP_MODE_MAX,
	
	SYS_EVT_UI_MAX,
	
	//Background part
	SYS_EVT_BATT_PER_CONVERT,
	SYS_EVT_STORE_MEM_ERR_HDL,
	
	SYS_EVT_BLE_UPLOAD_BATT_PER,
	SYS_EVT_BLE_UPLOAD_MEM,
	
	SYS_EVT_SHIP_MODE_ENTER,
    
	SYS_EVT_BLE_DEV_RESET,
	SYS_EVT_BLE_DEV_REVERT,
	SYS_EVT_BLE_SET_ADV_NAME,
	
	// ...
	SYS_EVT_MAX,
	
} sys_task_evt_type_t;

/*----------------------------var define---------------------------*/

/*-------------------------func declaration------------------------*/
extern void sys_task_init(void);
extern void sys_task_evt_set(uint8_t evt);

/*-----------------------------------------------------------------*/

#endif
